Easing Software Development by Using Flow Charting

© 2005, Noble D. Bell

[noblebell.com]

Flow Charts

Hearing the words "flow charting" can mean many different things to many different people, but to a seasoned programmer, these words often mean something entirely different. To the computer programmer the term "flow charting" means something along the lines of a graphical representation of the process and logical flow of a computer program using standard symbols.

What does this mean? Flow charting is the process of developing software using symbols to map out a program's logic and overall flow, to aid in fully understanding the solution to a problem. Phew! That’s a lot of nerdy stuff! In short it means that flow charting is a way to better represent a program's logic and process flow through using symbols. Sound interesting to you? If so, read on.

Let me give you a small example of what I am talking about. Don’t worry if you do not understand fully what is going on or what the symbols mean yet. I will explain what each symbol does and how it aids us in development in a few minutes.

Here is the problem:

You have been asked to write a short routine that will allow a customer to withdraw cash from his checking account via an ATM machine. You must make sure that the customer has enough cash in his account to make the withdrawal. If he do not then you need to notify them.

Pretty simple, eh? Well, hang on to your propeller hats. I am going to show you a very simple way to represent this via a chart. A flow chart that is.

Now, that’s better isn’t it? As you can see, by graphically displaying the process or logic flow of the problem that we are trying to solve, we can understand what we need to tell the computer to do and the order in which to do it.

Got your attention? Now, for those weird-looking symbols…

The weird looking symbols shown below are called basic flow charting symbols. They are what you use to represent the logic and flow of your software.

I know what you are thinking. "Heck! More stuff I am going to have to remember!!" Don’t fret! After you do this a few times and start seeing all the benefits of it then it will be like second nature to you.

Ahh! The symbols

Ok, ok, I will explain what each one of these little odd-looking things is and what each represents to the programmer.

Process – This symbol represents any process, function, or action and is the most frequently used symbol in flowcharting.

Decision – This symbol is a junction where a decision must be made. A single entry may have any number of alternative solutions, but only one can be chosen.

Data – This symbol represents data that is available for input or resulting from processing. (I.e. Database records)

Display – This symbol is used if you need to show what the program displays to the user.

Terminator – This symbol is used to signal a start or stop in the flow of the logic or process.

Document – This symbol is used to represent any type of hard copy input or output. (I.e. Reports)

Stored Data – This symbol represents data that you have stored on a storage medium.

Connector – This is a simple line with arrow heads on the end that represent the direction that flow is traveling.

There you have it.

"Wow, that is a lot of stuff. Why is flow charting so important and how will it help me?"

Thought you would never ask.

Why is flow charting so important and how will it help you?

Benefits of Flow Charting

"All right, I am convinced that flow charting is something that I need to be doing, but, are there limitations to this process?

Limitations of Flow Charting

The short answer, yes. Below are some of the limitations that one might encounter using and developing flow charts. Do not concern yourself with them too much. There is always a nice little work-a-round that will get the job done.

There you have it. To sum everything up, flow charting is a great tool for the software developer to graphically represent how he/she plans to develop certain routines and or entire programs. It helps in the design process and more than likely will yield more efficient code and less debugging.

If there is a lot of interest on this topic then please visit my website at [www.noblebell.com] and let me know and I will go into more detail in upcoming newsletters.

editor's note: please leave feedback for newsletter [HERE.] Thanks.


Home

Wire 1.0

Gif Viewer

Report Generation

Flow Charting

Stylebits Corner

Tip Corner

API Corner

CodeAChrome

Sprite Byte

Control Panel Applets

HTTPS Data

Eddie

Submissions

Index